//search模块仓库
import {reqCatSearchInfo} from '@/api'
const state = {
    saerchList:{}
}
//修改数据
const mutations = {
    GETSEARCHLIST(state,saerchList){
        state.saerchList = saerchList
    }
}
//中间人，路由组件叫dispatch，然后才执行函数
const actions = {
    //params={}没传参就是空对象
    async getSearchList({commit},params={}){
        //当前这个reqCatSearchInfo函数不管有没有参数，都要占个位，有参传参，没有就传空对象
        let result = await reqCatSearchInfo(params)
        if(result.code==200){
            //喊commit才能叫mutations执行函数，修改数据
            commit("GETSEARCHLIST",result.data)//到这段代码时mutations中GETSEARCHLIST会被触发，
                                               //GETSEARCHLIST被触发就修改数据，才会执行参数二，拿到数据
        }
    }
}
//计算属性，为了简化数据
const getters = {   
    //接收的参数是当前文件的state数据，为了简化在组件中的写法
    goodsList(state){
        //加空数组是为了往后如果没有网，拿不到数据，组件遍历至少是undefined,不会报错
        return state.saerchList.goodsList || []
    },
    trademarkList(state){
        return state.saerchList.trademarkList || []
    },
    attrsList(state){
        return state.saerchList.attrsList || []
    },
}
export default {
    state,
    mutations,
    actions,
    getters
}